package module

import (
	"strings"

	"gitee.com/liumou_site/logger"
)

// Add 添加HOSTS记录
func (h *Hosts) Add() {
	ip := h.InputIp()
	hostname := h.InputDomain()

	// 先检查是否存在相同记录
	for _, re := range h.RecordList {
		if strings.EqualFold(re.Domain, hostname) {
			logger.Warn("域名已存在,请先删除记录")
			return
		}
		// 允许同一个IP对应多个域名，注释掉IP重复检查
		// if strings.EqualFold(re.Ip, ip) {
		// 	logger.Warn("IP已存在,请先删除记录")
		// 	return
		// }
	}

	// 循环外添加记录，避免多次添加
	h.RecordList = append(h.RecordList, Record{Ip: ip, Domain: hostname})

	err := h.Write()
	if err != nil {
		logger.Error("无法写入: ", err.Error())
		return
	}
	logger.Info("添加完成")
}
